1. Field of the Invention
The present invention relates in general to the field of capacity adjustment to achieve a predefined level of system or subsystem performance in distributed computing systems, and in particular to a method to compensate for coupling overhead in a distributed computing system, a corresponding overhead calculator for the distributed computing system and a distributed computing system. Still more particularly, the present invention relates to a data processing program and a computer program product to compensate for coupling overhead in a distributed computing system.
2. Description of the Related Art
Distributed computing systems providing data sharing capability like “IBM System z Parallel SysPlex (System processing complex)” may be composed of multiple computer systems. Each may virtualize its resources and provide the processing capacity in containers, e.g. ‘LPARs’ (Logical PARtition) in System z. Each of those containers (LPARs) is controlled by an operating system running multiple applications. For background information, refer to U.S. Pat. No. 5,564,040 to Kubala, assigned to International Business Machines Corporation, Armonk, N.Y., US, filed 8 Nov. 1994, issued 8 Oct. 1996, “Method and Apparatus for Providing a Server Function in a Logically Partitioned Hardware Machine”, which describes aspects of logical partitioning. The LPAR hypervisor is typically referred to as the “LPAR manager”. More detailed reference material can be found in IBM zSeries 900 Processor Resource/Systems Manager™ (PR/SM™) Planning Guide, SB 10-7033-00, March 2001.
Software pricing can relate to the overall capacity of the SysPlex, to a single computer system (box), to the capacity of a LPAR or to a set of LPARs. In all these cases, software pricing relates to the defined static amount of capacity. System z, e.g., specifies such capacity in MSUs (Million Service Units), while others may use MIPS or other bench mark related metrics.
A distributed computing system like ‘System z Parallel SysPlex’ provides multiple advantages over single box computer systems, such as better availability and increased and scalable overall capacity. However, there is a bill with it. The intended part of the bill is specified by explicit pricing of functions and features. The unintended part of the bill is the additional overhead of the coupling system, e.g. Parallel SysPlex. One part of the overhead is specific coupling infrastructure, e.g., coupling facility on System z. The other part is the overhead for applications and underlying middleware and operation system executing on the regular customer processors. This overhead eats up machine cycles, which are lost for the execution of application code. The overhead is dependent on multiple factors of static and dynamic nature, e.g., hardware level of the boxes, hardware type of the coupling network, distance of the boxes, respectively the length of the cables between the boxes, application types, intensity of data sharing etc.
Constant overhead independent of the specific configuration would be very similar to running applications on different processor types and could easily be considered by an appropriate fix term software pricing. Unfortunately, the above listed influence factors make the efficiency of the Parallel SysPlex variable and fluctuating.
In U.S. Pat. No. 7,194,616 B2 “Flexible temporary capacity upgrade/downgrade in a computer system without involvement of the operating system” to Axnix et al. a method and a device for concurrent removal of processor capacity form a running computer is disclosed. The disclosed method and device may, e.g., be used for non-disruptive removal of processors from the enabled physical configuration without any involvement of the operating system. The computer comprises a resource controller being configured to control a physical resource pool including the actual physical resources and a capacity virtualizer configured to provide multiple sets of virtual resources from a capacity virtualizer resource pool, whereby the provided sets of virtual resources allow hosting independent operating systems concurrently. The method comprises the steps of the resource controller requesting the capacity virtualizer to reduce the capacity virtualizer resource pool, the capacity virtualizer removing resources from the capacity virtualizer resource pool, and the resource controller disabling physical resources corresponding to the resources removed from the capacity virtualizer resource pool.
The capacity, also called performance, of a computer system as part of the distributed computing system in terms of throughput and response times depends on its hardware and the software running on the hardware. The hardware capacity mainly depends on the performance of the one or more processors being present in the computer system, the number of processors and the efficiency of their cooperation, the size and access rates of the main storage, and the I/O bandwidth and its latencies. Such structure of a computer system comprising the processors, the respective cache infrastructure, and the I/O connection infrastructure may be referred to as the central electronic complex (CEC).
In business, software licensing is often based on the overall capacity of such a central electronic complex (CEC). By adding or removing processors, the CEC capacity may be changed. Software can recognize the CEC performance by different methods. It may directly retrieve the capacity indicators from the hardware via special instructions or it may count it out in some short spin loops. According to the specific license agreement, software may be limited to execute up to a predefined CEC capacity level, or royalties may be charged in accordance with the recognized actual CEC capacity.
Under such circumstances, the customer seeks to minimize the amount of software license royalties by enabling CEC capacity appropriate to the customer's actual needs. This is especially important for capacity backup computer centers with much dormant capacity installed, waiting to be enabled in case of a disaster, e.g., the total breakdown of a primary computer center. Such systems run at medium, low, or even very low CEC capacity, called the enabled capacity. The disabled (dormant) capacity may by far exceed the enabled capacity. For big installations, the CEC capacity driven software license fee for a computer center may be multiple millions of dollars a year, exceeding the cost of the dormant hardware.